package com.lebang.mapper;

import com.lebang.domain.DownloadMemberRecord;
import com.lebang.entity.PointwallRecord;
import com.lebang.example.PointwallRecordExample;
import com.lebang.model.cences.SdkMoney;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Mapper
public interface PointwallRecordMapper {
    long countByExample(PointwallRecordExample example);

    int deleteByExample(PointwallRecordExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(PointwallRecord record);

    int insertSelective(PointwallRecord record);

    List<PointwallRecord> selectByExampleWithBLOBs(PointwallRecordExample example);

    List<PointwallRecord> selectByExample(PointwallRecordExample example);

    PointwallRecord selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") PointwallRecord record, @Param("example") PointwallRecordExample example);

    int updateByExampleWithBLOBs(@Param("record") PointwallRecord record, @Param("example") PointwallRecordExample example);

    int updateByExample(@Param("record") PointwallRecord record, @Param("example") PointwallRecordExample example);

    int updateByPrimaryKeySelective(PointwallRecord record);

    int updateByPrimaryKeyWithBLOBs(PointwallRecord record);

    int updateByPrimaryKey(PointwallRecord record);

    BigDecimal duoyouMoney(@Param("star") LocalDateTime star, @Param("end") LocalDateTime end, @Param("sdkId") String sdkId);

    int duoyouMember(@Param("star") LocalDateTime star, @Param("end") LocalDateTime end, @Param("sdkId") String sdkId);

    BigDecimal todayduoyouMoney(@Param("star") LocalDateTime star, @Param("end") LocalDateTime end, @Param("sdkId") String sdkId);

    int selectTotalByMemberIdAndSdkId(@Param("userid") String userid, @Param("name") String name, @Param("star") LocalDateTime star, @Param("end") LocalDateTime end);

    BigDecimal sumPointWallByTime(@Param("appStore") String appStore, @Param("star") LocalDateTime star, @Param("end") LocalDateTime end, @Param("type") int type);

    int getByOrderNum(@Param("ordernum") String ordernum, @Param("pcdandan") String pcdandan);

    int todayduoyouMember(@Param("star") LocalDateTime star, @Param("end") LocalDateTime end, @Param("sdkId") String sdkId);

    List<SdkMoney> selectByTimeAndAppStore(String appStore, LocalDateTime star, LocalDateTime end, @Param("sdkId") String sdkId);
}